<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkMenuShell</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="GTK+ 3 参考手册">
<link rel="up" href="AbstractObjects.html" title="抽象基类">
<link rel="prev" href="gtk3-GtkBin.html" title="GtkBin">
<link rel="next" href="gtk3-GtkMisc.html" title="GtkMisc">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gtk3-GtkBin.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="AbstractObjects.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GTK+ 3 参考手册</th>
<td><a accesskey="n" href="gtk3-GtkMisc.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gtk3-GtkMenuShell.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#gtk3-GtkMenuShell.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="gtk3-GtkMenuShell"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gtk3-GtkMenuShell.top_of_page"></a>GtkMenuShell</span></h2>
<p>GtkMenuShell — A base class for menu objects</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gtk3-GtkMenuShell.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;gtk/gtk.h&gt;

struct              <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell">GtkMenuShell</a>;
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-append" title="gtk_menu_shell_append ()">gtk_menu_shell_append</a>               (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-prepend" title="gtk_menu_shell_prepend ()">gtk_menu_shell_prepend</a>              (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-insert" title="gtk_menu_shell_insert ()">gtk_menu_shell_insert</a>               (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-deactivate" title="gtk_menu_shell_deactivate ()">gtk_menu_shell_deactivate</a>           (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-select-item" title="gtk_menu_shell_select_item ()">gtk_menu_shell_select_item</a>          (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-select-first" title="gtk_menu_shell_select_first ()">gtk_menu_shell_select_first</a>         (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> search_sensitive</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-deselect" title="gtk_menu_shell_deselect ()">gtk_menu_shell_deselect</a>             (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-activate-item" title="gtk_menu_shell_activate_item ()">gtk_menu_shell_activate_item</a>        (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force_deactivate</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-cancel" title="gtk_menu_shell_cancel ()">gtk_menu_shell_cancel</a>               (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-set-take-focus" title="gtk_menu_shell_set_take_focus ()">gtk_menu_shell_set_take_focus</a>       (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> take_focus</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-get-take-focus" title="gtk_menu_shell_get_take_focus ()">gtk_menu_shell_get_take_focus</a>       (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
<a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-get-selected-item" title="gtk_menu_shell_get_selected_item ()">gtk_menu_shell_get_selected_item</a>    (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
<a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         <a class="link" href="gtk3-GtkMenuShell.html#gtk-menu-shell-get-parent-shell" title="gtk_menu_shell_get_parent_shell ()">gtk_menu_shell_get_parent_shell</a>     (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
enum                <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuDirectionType" title="enum GtkMenuDirectionType">GtkMenuDirectionType</a>;
</pre>
</div>
<div class="refsect1">
<a name="gtk3-GtkMenuShell.description"></a><h2>Description</h2>
<p>
A <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> is the abstract base class used to derive the
<a class="link" href="gtk3-GtkMenu.html#GtkMenu" title="struct GtkMenu"><span class="type">GtkMenu</span></a> and <a class="link" href="gtk3-GtkMenuBar.html#GtkMenuBar" title="struct GtkMenuBar"><span class="type">GtkMenuBar</span></a> subclasses.
</p>
<p>
A <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> is a container of <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> objects arranged
in a list which can be navigated, selected, and activated by the
user to perform application functions. A <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> can have a
submenu associated with it, allowing for nested hierarchical menus.
</p>
</div>
<div class="refsect1">
<a name="gtk3-GtkMenuShell.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GtkMenuShell"></a><h3>struct GtkMenuShell</h3>
<pre class="programlisting">struct GtkMenuShell {
  GtkContainer container;
};
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-append"></a><h3>gtk_menu_shell_append ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_append               (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);</pre>
<p>
Adds a new <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> to the end of the menu shell's
item list.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>child</code></em> :</span></p></td>
<td>The <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> to add</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-prepend"></a><h3>gtk_menu_shell_prepend ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_prepend              (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);</pre>
<p>
Adds a new <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> to the beginning of the menu shell's
item list.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>child</code></em> :</span></p></td>
<td>The <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> to add</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-insert"></a><h3>gtk_menu_shell_insert ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_insert               (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>);</pre>
<p>
Adds a new <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> to the menu shell's item list
at the position indicated by <em class="parameter"><code>position</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>child</code></em> :</span></p></td>
<td>The <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> to add</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
<td>The position in the item list where <em class="parameter"><code>child</code></em>
is added. Positions are numbered from 0 to n-1</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-deactivate"></a><h3>gtk_menu_shell_deactivate ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_deactivate           (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Deactivates the menu shell.
</p>
<p>
Typically this results in the menu shell being erased
from the screen.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-select-item"></a><h3>gtk_menu_shell_select_item ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_select_item          (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>);</pre>
<p>
Selects the menu item from the menu shell.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_item</code></em> :</span></p></td>
<td>The <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> to select</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-select-first"></a><h3>gtk_menu_shell_select_first ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_select_first         (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> search_sensitive</code></em>);</pre>
<p>
Select the first visible or selectable child of the menu shell;
don't select tearoff items unless the only item is a tearoff
item.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>search_sensitive</code></em> :</span></p></td>
<td>if <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, search for the first selectable
menu item, otherwise select nothing if
the first item isn't sensitive. This
should be <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the menu is being
popped up initially.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.2</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-deselect"></a><h3>gtk_menu_shell_deselect ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_deselect             (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Deselects the currently selected item from the menu shell,
if any.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-activate-item"></a><h3>gtk_menu_shell_activate_item ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_activate_item        (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force_deactivate</code></em>);</pre>
<p>
Activates the menu item within the menu shell.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_item</code></em> :</span></p></td>
<td>the <a class="link" href="gtk3-GtkMenuItem.html#GtkMenuItem" title="struct GtkMenuItem"><span class="type">GtkMenuItem</span></a> to activate</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>force_deactivate</code></em> :</span></p></td>
<td>if <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, force the deactivation of the
menu shell after the menu item is activated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-cancel"></a><h3>gtk_menu_shell_cancel ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_cancel               (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Cancels the selection within the menu shell.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr></tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-set-take-focus"></a><h3>gtk_menu_shell_set_take_focus ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_set_take_focus       (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> take_focus</code></em>);</pre>
<p>
If <em class="parameter"><code>take_focus</code></em> is <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> (the default) the menu shell will take
the keyboard focus so that it will receive all keyboard events
which is needed to enable keyboard navigation in menus.
</p>
<p>
Setting <em class="parameter"><code>take_focus</code></em> to <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is useful only for special applications
like virtual keyboard implementations which should not take keyboard
focus.
</p>
<p>
The <em class="parameter"><code>take_focus</code></em> state of a menu or menu bar is automatically
propagated to submenus whenever a submenu is popped up, so you
don't have to worry about recursively setting it for your entire
menu hierarchy. Only when programmatically picking a submenu and
popping it up manually, the <em class="parameter"><code>take_focus</code></em> property of the submenu
needs to be set explicitely.
</p>
<p>
Note that setting it to <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> has side-effects:
</p>
<p>
If the focus is in some other app, it keeps the focus and keynav in
the menu doesn't work. Consequently, keynav on the menu will only
work if the focus is on some toplevel owned by the onscreen keyboard.
</p>
<p>
To avoid confusing the user, menus with <em class="parameter"><code>take_focus</code></em> set to <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
should not display mnemonics or accelerators, since it cannot be
guaranteed that they will work.
</p>
<p>
See also <a href="../gdk3/gdk3-General.html#gdk-keyboard-grab"><code class="function">gdk_keyboard_grab()</code></a>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>take_focus</code></em> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the menu shell should take the keyboard
focus on popup</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-get-take-focus"></a><h3>gtk_menu_shell_get_take_focus ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_menu_shell_get_take_focus       (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Returns <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the menu shell will take the keyboard focus on popup.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the menu shell will take the keyboard focus on popup.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-get-selected-item"></a><h3>gtk_menu_shell_get_selected_item ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         gtk_menu_shell_get_selected_item    (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Gets the currently selected item.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the currently selected item. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 3.0</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-get-parent-shell"></a><h3>gtk_menu_shell_get_parent_shell ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         gtk_menu_shell_get_parent_shell     (<em class="parameter"><code><a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Gets the parent menu shell.
</p>
<p>
The parent menu shell of a submenu is the <a class="link" href="gtk3-GtkMenu.html#GtkMenu" title="struct GtkMenu"><span class="type">GtkMenu</span></a> or <a class="link" href="gtk3-GtkMenuBar.html#GtkMenuBar" title="struct GtkMenuBar"><span class="type">GtkMenuBar</span></a>
from which it was opened up.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the parent <a class="link" href="gtk3-GtkMenuShell.html#GtkMenuShell" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 3.0</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuDirectionType"></a><h3>enum GtkMenuDirectionType</h3>
<pre class="programlisting">typedef enum {
  GTK_MENU_DIR_PARENT,
  GTK_MENU_DIR_CHILD,
  GTK_MENU_DIR_NEXT,
  GTK_MENU_DIR_PREV
} GtkMenuDirectionType;
</pre>
<p>
An enumeration representing directional movements within a menu.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GTK-MENU-DIR-PARENT:CAPS"></a><span class="term"><code class="literal">GTK_MENU_DIR_PARENT</code></span></p></td>
<td>To the parent menu shell
</td>
</tr>
<tr>
<td><p><a name="GTK-MENU-DIR-CHILD:CAPS"></a><span class="term"><code class="literal">GTK_MENU_DIR_CHILD</code></span></p></td>
<td>To the submenu, if any, associated with the item
</td>
</tr>
<tr>
<td><p><a name="GTK-MENU-DIR-NEXT:CAPS"></a><span class="term"><code class="literal">GTK_MENU_DIR_NEXT</code></span></p></td>
<td>To the next menu item
</td>
</tr>
<tr>
<td><p><a name="GTK-MENU-DIR-PREV:CAPS"></a><span class="term"><code class="literal">GTK_MENU_DIR_PREV</code></span></p></td>
<td>To the previous menu item
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>